TListView - vymena pozice tazenim mysi

Otázka od: MUDr.Patrik Valenta

12. 8. 2004 13:07

zdravim konferenci, nema nekdo please ukazku zmeny poradi zaznamu v ListView
tazenim mouse?
V 1001 triku je ukazka pouze pro ListBox - ta ale nejde aplikovat na
ListView.

Nebo hledam komponentu like vicesloupcovy ListBox

diky valik


Odpovedá: Jiri Cincura

13. 8. 2004 15:47

MUDr.Patrik Valenta wrote:
> zdravim konferenci, nema nekdo please ukazku zmeny poradi zaznamu v
> ListView tazenim mouse? V 1001 triku je ukazka pouze pro ListBox - ta
> ale nejde aplikovat na ListView.
>
> Nebo hledam komponentu like vicesloupcovy ListBox
>
> diky valik

Ahoj,
  nenapisu ti presny navod, ale postup, jak bych ne to sel.

V OnDragDrop mas Sender typu TListItem, vis ktera to je. Potom mas X,Y takze
by se snad dalo najit (vyska polozky vs. Y, X je ti celkem jedno), na ktere
je to upustene. Potom uz je staci jen vymenit (treba pres Insert).

No a na MouseDown/Up das Begin/EndDrag. A na DragOver Accept := Sender is
TListItem (nebo pro testovani True natvrdo)

--
Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
ICQ: 314711544
web: http://www.cincura.net; http://photo.cincura.net



Odpovedá: Martin Cajbik

13. 8. 2004 16:11

Len doplnim:
Na zistenie polozky na urcitej pozicii sluzi metoda GetItemAt.
Vymenu budes musiet vykonat vytvorenim novej polozky cez Add, priradenim
povodneho obsahu cez Assign a zmazanim povodnej polozky (teda ak
nepouzivas virtualny mod).

Martin Cajbik

Jiri Cincura wrote:

> MUDr.Patrik Valenta wrote:
>
>>zdravim konferenci, nema nekdo please ukazku zmeny poradi zaznamu v
>>ListView tazenim mouse? V 1001 triku je ukazka pouze pro ListBox - ta
>>ale nejde aplikovat na ListView.
>>
>>Nebo hledam komponentu like vicesloupcovy ListBox
>>
>>diky valik
>
>
> Ahoj,
> nenapisu ti presny navod, ale postup, jak bych ne to sel.
>
> V OnDragDrop mas Sender typu TListItem, vis ktera to je. Potom mas X,Y takze
> by se snad dalo najit (vyska polozky vs. Y, X je ti celkem jedno), na ktere
> je to upustene. Potom uz je staci jen vymenit (treba pres Insert).
>
> No a na MouseDown/Up das Begin/EndDrag. A na DragOver Accept := Sender is
> TListItem (nebo pro testovani True natvrdo)